#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <unistd.h>



#define FILE	"/dev/driver_test"		   // 设备文件路径


char buf[100]={0};

int main(void)
{
	int fd = -1;
	int i = 0;
	int ret = -1;
	
	fd = open(FILE, O_RDWR);   // 执行驱动结构器open 
	if (fd < 0)
	{
		printf("open %s error.\n", FILE);
		return -1;
	}
	printf("open %s success..\n", FILE);



// 测试    copy_from_user 、 copy_to_user 
      ret = 	 write(fd, "on", 2);   // 读写文件 --》 调用file_operator的 .write 对应函数
      //实际写入的大小 , 和磁盘意义，写入2，如果磁盘只有1个字节大小，实际写入1 
      printf("write ret=%d\n", ret);
      ret = read(fd,buf,100);    
	  //实际读取到的大小
      printf("read ret=%d read kernel data: %s\n", ret, buf);
	  sleep(5);



	// 关闭文件, 执行驱动结构体的 test_chrdev_release
	close(fd);


	return 0;
 }
